﻿using System.Threading.Tasks;
using TimServerSDK.Accounts;
using TimServerSDK.Core;
using TimServerSDK.Friends;
using TimServerSDK.Groups;
using TimServerSDK.Portraits;

namespace TimServerSDK
{
    public interface ITimServerApi
    {
        IAccountTimServerApi AccountApi { get; }
        IFriendTimServerApi FriendApi { get; }
        IGroupTimServerApi GroupApi { get; }
        IPortraitTimServerApi PortraitApi { get; }

        Task<TimServerOptions> GetOptionsAsync();

        Task<string> GenSigAsync(string identifier, int expire = 15552000);
    }
}
